const Service = require("egg").Service;

class BlogService extends Service{
     //查看数据
     async get(){
        //获取数据库中的数据
         //通过try catch来进行异常判断，如果能正常运行的话来返回findAll方法
         //如果不能正常运行的话则返回null
         try {
             //通过上下文对象来响应模型下的Blog表，然后调用findall（），数据库中的数据获取成功之后把数据赋值给blogList
            const blogList = await this.ctx.model.Blog.findAll();
            //然后把获取到的值返回给get（）
            // console.log(blogList)
            return blogList
         } catch (error) {
             return null
             
         }  
         
     }

     //查看一篇具体的博客
     async getBlogl(id){
        //  console.log(id)
         try {
             //拿到id后通过findOne()方法来响应获得的内容
             const blogList= await this.app.model.Blog.findOne({
                 where:{
                     id
                 }
                 
             })
            //  console.log(blogList)
             //获得blog表下的该id下的数据后，返回给getBlogl()方法
             return blogList
             
         } catch (error) {
             return null
             
         }
     

     }

     //添加博客
    async createBlog({
        
        id,
        title,
        img,
        md_text,
        html_text

    }){
        try {
            await this.app.model.Blog.create({
                id, 
                title,
                img,
                md_text,
                html_text

            })
            // console.log("service")
            return true
        } catch (error) {
            return false
        }
    
    }

    //删除博客
    async deleteBlog(id){
         
            try {
                await this.app.model.Blog.destroy({
                    where:{
                        id
                    }
                })
                return true
            } catch (error) {
                return false
                
            }
    
        }

    //更新博客
    async updateBlog(
        id,{
            title,
            img,
            md_text,
            html_text
        }){
            try {
                await this.app.model.Blog.update({
                    title,
                    img,
                    md_text,
                    html_text
                },{
                    where:{
                        id
                    }
                })
                return true
            } catch (error) {
                return false
                
            }
        }





    


















    


    
  




}
module.exports = BlogService;